Document editing method, document editing system, server apparatus, and document editing program

ABSTRACT

A partial document defined in advance as an operating unit composed of at least one element, which is coincident with or is contained in a structural document, includes at least information representing that the partial document is an operating unit. Based on this information, at least the partial document and parts data by parts data containing position information on the partial document are created. Structured documents are stored in storage means as a set of parts data. The stored structured document is edited by updating parts data corresponding to the partial document targeted for operation, according to the contents of operation for the partial document selected as an operating target.

CROSS-REFERENCE TO RELATED APPLICATIONS

This application is a divisional of co-pending U.S. patent applicationSer. No. 10/614,315, filed Jul. 8, 2003, and in turn claims the benefitof priority from the prior Japanese Patent Applications No. 2002-200284,filed Jul. 9, 2002; and No. 2002-200285, filed Jul. 9, 2002, the entirecontents of each of which are incorporated herein by reference.

BACKGROUND OF THE INVENTION

1. Field of the Invention

The present invention relates to a method and apparatus for editing astructured document such as an XML document or an HTML document.

2. Description of the Related Art

In a WWW (World Wide Web), a shopping site has a page for listingproduct catalogues, and a news site has a page for listing newsarticles. In addition, many of portal sites describes information ondifferent categories such as stock price information, weather forecastinformation or headline news in combination in a partial page areacalled a portlet in a top page. Here, this information on category bycategory basis is called sub-contents. Recently, on a Web page capableof being browsed via Internet, unlike a conventional document-like Webpage, the sub-contents contained inside are highly independent of eachother, and Web pages configured in an aggregate manner increase.

With respect to such a Web page, there is a user's demand to selectivelybrowse only sub-contents of interest instead of reading all the pages inorder. Apart from only browsing, for example, there are other demandslisted below.

1) Comparison or sorting in units of sub-contents;

2) Classification or arranging in units of sub-contents; and

3) Acquisition or storing in units of sub-contents.

However, the current browser does not have functions which cancorrespond to the above demands.

BRIEF SUMMARY OF THE INVENTION

It is an object of the present invention to provide a document editingmethod, a document editing system, a server apparatus, and a documentediting program which enable browsing not in units of Web pages but inunits of sub-contents contained in each Web page, and collecting only adesired sub-content from one Web page or each of a plurality ofdifferent Web pages, thereby enabling editing in units of sub-contents.

According to a first aspect of the present invention, a document editingmethod comprises: displaying on a display unit a structured documenthaving a document structure composed of a plurality of elements; editingthe displayed structured document based on a partial document defined asan operating unit in advance composed of at least one of the elementswhich is coincident with or is included in the displayed structureddocument; creating parts data by the partial document which includes atleast partial document and position information on the documentstructure of the partial document based on information contained in thepartial document, the information representing that the partial documentis the operating unit, and storing the structured document in a storageunit as a set of the parts data; and editing the structured document byupdating the parts data corresponding to the partial document which isnot targeted for operation according to the contents of operationrelevant to the partial document selected as an operating target.

According to a second aspect of the present invention, a serverapparatus comprises: a unit configured to display on display means astructured document having a document structure composed of a pluralityof elements; and a unit configured to distribute the structured documentto a client unit which edits the displayed structured document based ona partial document defined in advance as an operating unit composed ofat least one of the elements, the partial document being coincident withor being contained in the displayed structured documents, wherein thestructured document to be distributed to the client unit includesinformation representing a partial document as the operating unit whichis coincident with or is contained in at least the structured documents.

According to an aspect of the present invention, with respect to therespective partial documents which can recognized based on informationwhich represents a partial document on operating units, which arecontained in a structured document, the part data (page parts) arecreated based on such additional information, whereby the contentsdisplayed on a screen can be easily operated to be edited in units ofsub-contents (units of partial document) based on the page parts.

Therefore, as a structured document, for example, browsing not in unitsof Web pages but in units of sub-contents contained on each Web page ispossible, for example. Moreover, only desired sub-contents are collectedfrom one Web page or each of a plurality of different Web pages, and theacquired sub-contents can be edited in units of sub-contents.

According to a second aspect of the present invention, on a client side,as a structured document, for example, browsing not in units of Webpages but in units of sub-contents contained in each Web page ispossible, for example. Moreover, there can be provided a Web page forfetching only desired sub-contents from one Web page or each of aplurality of Web pages, enabling comparison, sorting,classification/arranging, or storage in units of sub-contents.

BRIEF DESCRIPTION OF THE SEVERAL VIEWS OF THE DRAWING

FIG. 1 is a view illustrating a function of a document editing systemaccording to one embodiment of the present invention;

FIG. 2 is a diagram showing an example of functional configuration ofthe document editing system;

FIG. 3 is a diagram illustrating page parts (sub-contents or a partialdocument) in one Web page;

FIG. 4 is a diagram illustrating a data structure of page parts;

FIG. 5 is a diagram showing an example of functional configuration of ahost module;

FIG. 6 is a view showing an example of screen display;

FIG. 7 is a diagram showing an example of functional configuration of apage reading module;

FIG. 8 is a flow chart illustrating an operation of the page readingmodule;

FIG. 9 is a flow chart illustrating a procedure for converting an inputdocument into a block Web document;

FIG. 10 is a diagram showing an example of functional configuration of apage parts management module;

FIG. 11 is a flow chart illustrating an operation of the page partsinserting module;

FIG. 12 is a diagram showing an example of functional configuration of arendering processing module;

FIG. 13 is a diagram showing an example of functional configuration of aGUI processing module;

FIG. 14 is a flow chart illustrating an operation of a drag processingmodule;

FIG. 15 is a flow chart illustrating an operation of a drop processingmodule;

FIG. 16 is a diagram showing an example of functional configuration ofan export module;

FIG. 17 is a diagram showing an example of functional configuration of apage parts format adjusting module;

FIG. 18 is a diagram showing an example of functional configuration of adesktop pasting module;

FIG. 19 is a flow chart illustrating an operation of the desktop pastingmodule;

FIG. 20 is a flow chart illustrating an operation for editing pageparts;

FIG. 21 is a flow chart illustrating an HTML cutter processingoperation;

FIG. 22 is a flow chart illustrating a style switch processingoperation;

FIG. 23 is a diagram showing an example of configuration of a serverapparatus;

FIG. 24 is a diagram showing an example of configuration when thedocument editing system shown in FIG. 2 is implemented on a computer (acomputing machine), for example.

FIG. 25 is a diagram showing an example of functional configuration ofan electrical tag system according to a second embodiment of the presentinvention;

FIG. 26 is a flow chart illustrating a processing procedure when a dropevent for a desktop has been sensed;

FIG. 27 is a flow chart illustrating a processing procedure when a dragevent for a tag paper window has been sensed;

FIG. 28 is a flow chart illustrating a processing procedure for creatingthe tag paper window;

FIG. 29 is a flow chart illustrating a processing procedure for deletingthe tag paper window; and

FIG. 30 is a diagram showing an example of configuration when the systemshown in FIG. 25 is implemented on a computer (a computing machine), forexample.

DETAILED DESCRIPTION OF THE INVENTION

Hereinafter, one preferred embodiment of the present invention will bedescribed with reference to the accompanying drawings.

First, terms used in the following embodiment will be described.

A Web document or a Web page is a structured document having a documentstructure composed of a plurality of elements described in HTML or XMLwhich can be browsed via Internet. In the following document, although adescription has been given by way of example of a Web document (called aWeb page), it is not limited thereto. The present embodiment can beapplied even to a general structured document such as an HTML documentor an XML document which is created for the purpose of being browsed viaInternet, and which is created for an arbitrary purpose by an arbitraryeditor, and is acquired by arbitrary means even in a structured documentacquired via Internet.

Sub-contents are display data which is an aggregate in view of contentson a displayed Web page, and which is highly independent of each otherin view of their contents. How sub-contents are delimited is intended byan author of the Web page. The sub-contents correspond to partialdocuments which can be delimited in variety from a totally differentviewpoint depending on the writers of the Web page so that the displaydata can be displayed by the partial document. Therefore, thesub-contents can be considered to be partial pages (partial documents)which a user on one Web page (a Web document) wants to handleindependently. For example, many of portal sites describe information ondifferent categories such as stock price information, weather forecastinformation or news articles in combination on a partial page areacalled portlet in a top page. For example, information on a category bycategory basis, that is, for example, each of news articles or weatherforecast information may be one item of sub-contents (a partialdocument) or each item of news in news articles may be sub-contents(partial documents). The context or delimiting of the sub-contents isnot limited in particular. A full text of one Web page coincides withone partial document, and such a partial document may contain aplurality of partial documents. In the following document, thesub-contents and partial documents may be regarded equivalently.

(General Description of Functions)

An outline of a document editing system according to the presentembodiment will be described here. In the description, a generic name ofgeneral software having a Web display function is broadly called abrowser. This is not limited to software which primarily focuses on aWeb display function such as INTERNET EXPLORER™ or NETSCAPE™. Forexample, a document edition system according to the present embodimentis equipped with a data base having a Web document display function, andthis is also called a browser.

1) A function for freely relocating sub-contents by a GUI operation suchas drag & drop on a browser (corresponding to a need for comparison orsorting);

2) A function for posting sub-contents by a GUI operation such as drag &drop from one browser to another browser (corresponding to a need forclassification or arranging); and

3) A function for opening a browser which displays a page on whichsub-contents are not contained, and posting the sub-contents to beacquired from a variety of pages by a GUI operation such as drag & drop(corresponding to a need for acquisition or storage).

The above need from the user can be covered by this basic functionalspecification. With this basic function specification being a “nucleus”,peripheral functions are added, and a complete functional specificationhas been designed.

FIG. 1 is a bird view of these functions. Hereinafter, a generaldescription of functional specification will be given with reference toFIG. 1. FIG. 1 shows an example of functional flow provided toillustrate a use mode for clarity, where a configuration in actualsystem design is different from another, as described later. Thus, itshould be noted that the figure is not a functional block diagram.

When a browser of this system reads a Web page on Internet, a filesystem or the like, this browser displays the Web page as in aconventional browser. In addition, this browser provides variousoperating functions for a user to conveniently handle sub-contents, thatis, functions designated by reference numerals 1-1 to 1-14 of FIG. 1.Now, an outline of these functions 1-1 to 1-14 will be described here.

(Free Relocating Function 1-1)

One is a free relocating function of sub-contents on a browser. At abrowser Web display portion, a user can move arbitrary sub-contents toanother position by using a GUI operation such as drag & drop. There aretwo types of complete modes; a completely free mode in units of dots anda layout mode in which location is carried out along a frame. In thismanner, for example, on a product listing page at a shopping site, thereis an advantageous effect that a list of products can be changed inbrowsing according to the user's convenience.

(Sorting Function 1-2)

A sorting function is provided as a function associated with the abovefunction. A sorting function 1-2 is initiated by selecting it from amenu, a tool button and the like. All the sub-contents contained inpages or the specified contents can be sorted according to the contentsof a specific item. In this manner, for example, products at theshopping site can be rearranged by price or by type, and thus, there isan advantageous effect that the products can be easily compared witheach other. In addition, this sorting function is used together with aninter-page posting function 1-4 in FIG. 1 described later, therebymaking it possible to compare product items on a variety of Web sites orWeb pages.

Conventionally, direct support by a machine cannot be received withrespect to comparison of the contents at different Web sites, and theonly one way has been to make visual check.

(Search Function 1-3)

A search function of sub-contents is also provided. The search functionis initiated by selecting it from a menu, a tool button and the like.Two types of methods are provided. From among the pages, a search ismade in accordance with a user input condition, and the result isestablished in a selective state in the same browser (a desired item isindicated to the user by focusing it). Alternatively, a browser isopened as another window by using a new vacant page creating function1-9 in FIG. 1, the corresponding sub-contents are placed there. Inaddition, search and narrowing can be carried out sequentially byrepeatedly using this search function.

(Inter-Page Posting Function 1-4)

A function for posting sub-contents between Web pages displayed ondifferent types of browser is provided as a next function. Sub-contentsseparately displayed at a plurality of Web sites or on Web pages can beseen on the same page. This function has the advantageous effectdescribed previously. Further, this search function is used incombination with a new vacant page creating function 1-9 of FIG. 1,whereby only the sub-contents of interest can be collected on a newpage, and further, can be compared with each other.

(Format Adjusting Function 1-5)

In addition, a format (type) adjusting function is provided as itsauxiliary function. When sub-contents are posted between different Webpages, there is a case where types of such sub-contents areunacceptable. For example, there is a case where a display format ordata format is different from another on a page by page basis withrespect to product listing pages. Although it is possible to insert theformat as is, it is inconvenient in the case where an attempt is made tocompare sub-contents with each other by using sort 1-2 or the likealtogether. A format (type) adjusting function 1-5 automatically solvesthis problem. When a system determines that the type of sub-contentsdoes not match a page on the accepting side, the system searches aproper one from a database of a Web format conversion rule which thesystem has, and applies the conversion rule to insert the types in all.

(Design Switching 1-6)

As another function, a function for switching a design (called a displayformat or style) is provided. The design switching function is initiatedby selecting it from a menu, a tool button and the like. The designswitching function is provided as a method for switching a design to asingle or a plurality of sub-contents with the contents being as theyare. For example, with respect to product catalogs listed on Web,switching can be effected to a display format in which a dataspecification is understandable or to a display format in which aproduct design is understandable. However, this function is availablefor use only when the Web page is described by separating data and astyle sheet (display method) as in XML or the like.

(Inserting Function 1-7)

A function for inserting sub-contents into the sub-contents is provided.By using this function, for example, a user can contain a productcatalog in the existing product catalogs. This function is recursive,and can carry out infinitely processing for placing sub-contents in theexisting sub-contents and inserting other sub-contents into the internalsub-contents.

(Acceptability Determining Function 1-8)

A sub-contents acceptability determining function 1-8 is automaticallyinitiated when sub-contents are inserted into another place by the abovedescribed free relocating function 1-1 or inter-page pasting function1-4, or a GUI operation such as drag & drop. With this function, whenthe inserting function is executed, the inserting function is canceledin the case where the Web page which is an accepting side or theinserting function 1-7 is utilized. In addition, the inserting functionis canceled in the case the set condition for other sub-contents toaccept such insertion is not met. An acceptance condition can beprovided with respect to a format of sub-contents.

This function 1-8 is used together with the format adjusting function1-5. If the sub-contents targeted for insertion does not meet thecondition defined on the accepting side, an attempt is made to makeconversion into an acceptance type by using the format adjustingfunction 1-5. If a method for making conversion into an acceptance typehas been found, such a type is inserted. If not, the insertingprocessing is canceled.

(New Vacant Page Creating Function 1-9)

A new vacant page creating function 1-9 is initiated by selecting itfrom a menu, a tool button and the like. In execution, another browserwindow is opened, and a vacant Web page is newly created there. Oneimportant utilizing method is that, with this page being a scrap book, auser can acquire only sub-contents of interest from a plurality of Webpages by drag & drop and the like. This new page can inherit a Web pagedesign of a browser which is an opening source. In this case, a new pageis displayed on another window in a state in which all of thesub-contents only have been removed from the source Web pages.

(Contents Editing Function 1-10)

A contents editing function 1-10 is initiated by selecting it from amenu, a tool button and the like. When the function is initiated, anedit mode is displayed. Then, a user can edit the currently selectedsub-contents on a browser or a dedicated editing software on anotherwindow.

An editing function includes an inline mode for changing each data fieldin an HTML format while a displayed design is kept unchanged and acomplete mode for changing a design. Functions to be added to thesemodes include: a function for, when design and data are separated fromeach other as in XML or when a data field is changed, reflecting(rewriting) a value to an internal data portion; and a function for,when the data format is specified strictly by a schema or the like,providing an optimal input HTML form GUI along such a data format. Thesefunctions can be implemented by using the existing technique.

In addition, sub-contents can be newly created. This function utilizes afunction in the inline mode. When this function is initiated, an HTMLformat is displayed in a format of immediately preceding sub-contents.When the user determines a value by filling it in each item, newsub-contents are added into that page.

(Storage Function 1-11)

A storage function 1-11 is initiated by selecting it from a menu, a toolbutton and the like. The user can edit a configuration or contents of aWeb page by using the previously introduced function. By using thestorage function 1-11, a changed state can be stored in a variety ofstorage systems. As a storage destination, a Web server, a database andthe like in which the user's home page is placed can be selected as wellas a file system of a local host which the user is using.

As a storage format, in addition to an HTML or an XML, a special formatof this system having configuration information on these sub-contentsadded thereto can be selected. The special format stores any of thesub-contents whichever it is. Thus, when next reading is carried out, afunction oriented to the sub-contents described previously can becontinuously utilized.

(Data Source Updating Function 1-12)

As an auxiliary function, a data source updating function 1-12 isprovided. This function is one type of storage function. When a Web pagedelivered from the Web server is edited, the update information can betransmitted to a source Web server. The received Web server causesproper storage such as a database to reflect the update data accordingto the system configuration.

(Function 1-13 for Fetching into External Application)

A function 1-13 for fetching sub-contents into an external applicationis a function for fetching only desired sub-contents from an arbitraryWeb page (including a scrap book) opened on a browser by posting them tothe application by a GUI operation such as drag & drop. As a fetchingdestination, a mail, an OA tool, an in-house work flow system or thelike is exemplified as an example of application.

(Function 1-14 for Pasting into Desktop as Tag Paper)

A function 1-14 for pasting sub-contents into a desktop is provided as afunction which conforms with the above function 1-13 for fetching intoan external application. Desired sub-contents are dropped into thedesktop from an arbitrary Web page (including a scrap book) opened on abrowser, whereby the sub-contents can be pasted as tag paper (electronictag). The sub-contents pasted to this tag paper can be dropped into anarbitrary page or an application later.

(System Configuration)

A configuration of a document editing system for implementing the abovedescribed functions will be described here.

In order to provide to a user the above described functions withsub-contents being in units of processes, it must be determined where atleast in Web page falls into sub-contents. That is, sub-contents may beincluded in other sub-contents (having parent sub-contents) or othersub-contents are included (having child sub-contents) (this is called aninclusive relationship or a parent relationship between sub-contents(partial documents). Thus, information concerning an inclusiverelationship between sub-contents is required. The information is calledWeb block structure information, or briefly block structure information.In addition, decomposing one Web page in units of sub-contents which areprocessing units of this system based on block structure informationincluded therein is called blocking.

Also, such blocking is a feature of the present invention, and, ofcourse, block structure information is not contained in a Web documentsuch as an HTML document or an XML document currently widely used.

Now, a description will be given with respect to how the block structureinformation is acquired and handled. Here, the following policy isadopted in acquiring and handling block structure information.

1) A dedicated Web language described including block structureinformation is prepared (hereinafter, this language is called a blockWeb language, and a document written in this language is called a blockWeb document).

2) This system is provided to carry out processing based on the blockWeb language.

3) When the existing Web document such as HTML or XML is inputted tothis system, the document is fetched after converted into the block Weblanguage before carrying out the above processing. At this time, it isrequired to compensate for block structure information, and somefunctions are provided as a compensation method.

There are two reasons why the above policies were employed.

First, this dedicated block Web language having complete information isintended as a primary method for utilizing this system. When the blockWeb language is inputted, an author can describe where is provided as ablock (contents to be independently handled) together with contents.

Therefore, this block Web language is assumed to be widely disclosed inorder to be used by the Web author.

As a system for providing an operating function for a user to handlesub-contents based on the block Web language, there is utilized atechnique disclosed in U.S. application Ser. No. 09/627,299 filed onJul. 27, 2000 (Title of the Invention: Web Page parts integratedprocessing method and apparatus; Inventors: Shinichiro Hamada andToshibumi Seki).

On the other hand, it is an object of the present invention to flexiblycope with a generally known Web page description language. The Weblanguages known at the present stage are HTML and XML. There is employeda system for conversion into a previous block Web language instead ofproviding a processing module for directly handling these languages. Bydoing this, a system is simplified, and at the same time, onlyconversion processing can be made independent. Thus, there is anadvantage that plug-in compatible expandability to a conversion systemwhich will be required is obtained.

In conversion, since the HTML or XML itself does not have blockstructure information, insufficient information must be compensated for.In contrast, there are a method for assignment from another documentwhich has been prepared in advance; a method for a user to specify theinformation on the spot when a browser is used; and a so called textmining method for mechanically estimating a block structure from thecontents of a document. In the following description, there is shown acase of implementation by using the previous two methods. Although athird method can be implemented by using the existing technique, onlypossibility is presented here.

FIG. 2 shows an example of functional configuration of the documentediting system configured based on the above description. FIG. 4 showsan example of configuration of a global data object handled by thissystem. First, page parts as object data targeted to be processed bythis system will be described here.

This system handles a data object for page parts units, of theconfiguration as shown in FIG. 4. Page parts are data corresponding tosub-contents on one by one basis. The data include contents ofsub-contents itself, of course, and management information required fora function oriented to sub-contents provided by this system.

Page part (a data object) D1 shown in FIG. 4 is composed of a pluralityof sub-data objects D11 to D18. In FIG. 4, for example, acceptanceinformation D14 is represented to include insertion place informationD141 and acceptance type information D142 therein. Similarly, child pageparts management information D16 includes insertion place informationD161 and child page parts reference information D162 therein. Inaddition, for example, as in the acceptance information D14 or childpage parts management information D16, sub-data objects expressed to besuperimposed in plurality (to be superimposed in double, for example)indicate that a plurality of such sub-data objects exist.

The page part D1 includes the following items of information: a typename D11; a content D12; a style sheet D13; acceptance information D14;parent page parts reference D15; child page parts management informationD16; a link URLD D17; and a link flag D18. These items of informationare contained as an element configuring each partial document extractedfrom the block Web document or are contained as attributes.

Type is provided to discriminate each partial document according to adata format (difference in format) of a partial document or a differencein category or kind (semantic difference) concerning the contents of thepartial document. Identification information for discriminating eachtype according to a semantic or formal difference of the partialdocument is a type name. A type name corresponding to a partial documentwhich corresponds to the page part D1 is maintained in the type name D1contained in the page part D1. This type name is described in anattribute “type” provided to an element (a factor) which is a top nodeof the partial document.

A partial document corresponding to the page part D1 is maintained inthe content D12. When display data is contained in another structureddocument other than a structured document including the page parts, linkinformation for the display data is stored in the link URL D17. (At thistime, the link flag D18 is set). Thus, in this case, the content D12 maybe vacant.

The style sheet D13 maintains a conversion rule (a style sheet) for adata format applicable to the partial document maintained in the contentD12 and a conversion rule (a style sheet) for converting a data formatof the display data into a data format corresponding to the displayformat or the like by a display format applicable to the partialdocument. If a plurality of conversion rules are applicable to thedisplay data, it means that the plurality of style sheets D13 arecontained in the page part D1. A style sheet is described in anattribute “style” described in an element (a factor) which is a top modeof the partial document.

The acceptance information D14 maintains as the acceptance type D142 atype name of a partial document in which a partial documentcorresponding to the page part D1 can be accepted (inserted), andmaintains the insertion place D141 on a document structure. Thisacceptance type D142 is described as (an attribute of) an element“accept” in the partial document, and the insertion place D141 isposition information which corresponds to an allocation on the documentstructure of this element “accept”.

When a portion corresponding to the page part D1 is included in anotherpartial document, the parent page parts reference D15 is information forassociating the page part D1 with page parts corresponding to anotherpartial document which is a parent.

When a partial document corresponding to the page part D1 includesanother partial document, the child page parts management informationD16 are information for the page part D1 with page parts correspondingto another partial document which is a child. This information maintainsan insertion plate D161 of the another partial document on a documentstructure and child page parts reference D162 which is positioninformation on a document structure of the another partial document. Theinsertion place D161 is a location of an element (such as an element“import” described later, for example) which instruct insertion ofanother partial document in partial documents. As an attribute of thiselement, for example, the child page parts reference D162 is describedas position information on a partial document to be inserted.

The sub-data objects shown in FIG. 4 will be described as required insystem configuration or description of operation shown in FIG. 2, shownbelow.

Sub-contents have been described as corresponding to a partial page (apartial document) which the user in one Web page (a Web document) wantsto handle independently. In this system, although the page part D1 asshown in FIG. 4 are handled as objects corresponding to sub-contents ona one by one basis, all the pages (that is, one Web page) are processedas one page part.

A specific description of page parts will be given with reference toFIG. 3. FIG. 3 shows a page part 3-1 as one Web page. A plurality ofpage parts 3-2 to 3-7 are included in the page part 3-1 corresponding toall the pages. In this system, the page part 3-1 and page parts 3-2 to3-7 included therein are managed to be in a parent-child relationship.All the pages are regarded as page parts, whereby special processing isunnecessary, and the system is simplified. At the same time, there maybe a need for fetching all the pages as part of another page.

Now, functional modules of the document editing system shown in FIG. 2will be described below.

As shown in FIG. 2, the document editing system is roughly composed of:a host module M1; a document processing module M2; and a desktop pastingmodule M3. These modules M1 to M3 are respectively independent modules.The host module M1 substantiates and calls the document processingmodule M2 as required. The document processing module M2 substantiatesand call the desktop pasting module M3 as required.

The host module M1 is a container component which accepts (hosts) thedocument processing module M2. A basic function is to construct a windowframe on an OS (Operating System), thereby ensuring a window region forthe document processing module M2 to function and to provide a menu, atool button and the like for the user to operate, thereby conveying aninputted command to the document processing module M2.

A Web browser and a page parts album host (dedicated application whichprovides a function specialized for page parts management as shown inFIG. 5) are specifically assumed as the host module M1. A general Webbrowser such as INTERNET EXPLORER™ or NETSCAPE™ is created so as tofunction as a general-purpose document service host. Thus, requiredregistration processing concerning the document processing module M2 maybe carried out so that the document processing module M2 can beinitiated by calling it from the browser in accordance with therespective browser specification. The details are categorized in thesoftware specification of the general-purpose browser, respectively, anda further description is omitted here. When the above general Webbrowser is used as a host module, this host module is called a firsthost module M1.

On the other hand, a host module used exclusively for a document editingsystem according to the present invention is called a second host moduleM2. The second host module will be described later.

The document processing module M2 is a Web document processing modulewhich has a blocking function and a function oriented to sub-contents.This module is substituted and called by number of Web pages from thehost module M1. That is, one document processing module is produced toone Web page on memory.

The document processing module M2 roughly contains two sub-modules, apage reading module M21 and a block Web document processing module M22.

The page reading module M21 supports the blocking function. First, thepage reading module M21 reads a document specified by URL (or a filepath on a local machine). If the read document is determined to be ageneral Web document such as HTML document or XML document which is nota block Web document, the document is converted into the block Webdocument by executing one of a plurality of methods.

The block Web document processing module M22 provides a functionoriented to sub-contents. The module M22 includes five sub-modules: apage parts management module M221; a rendering processing module M222; aGUI processing module M223; an export module M224; and a page partsformat adjusting module M225.

The page parts management module M221 has a page parts database M221 bwhich maintains page parts extracted from each page. This module alsohas a function for changing page configuration such as insertion,moving, or deletion in units of page parts (sub-contents) and a functionfor storing them.

The rendering processing module M222 has a function for displaying agroup of page parts managed by the page parts management module M221 asWeb pages.

The GUI processing module M223 provides a GUI function for operatingsub-contents such as drag & drop or a context menu on the Web pagedisplayed by the rendering processing module M222. After the GUIoperation has been made, a data processing function corresponding to theGUI operation is called in response to the page parts management moduleM223, and a display screen is rewritten by using the renderingprocessing module M222.

The GUI processing module M223 calls the export module M224 at the sametime. The export module M224 provides a processing function for postingpage parts to an external application.

Specifically, when a copy command or the like is executed by drag & dropor on a context menu in GUI operation (when right-click is made on anarbitrary GUI part being displayed, a display is made with respect tothis part), the GUI processing module M223 calls the export module M224.Then, this module writes the contents of the page parts in a formatwhich can be read by an external application, into a shared memoryregion (a clipboard) in which another application or process (these arecollectively called an external application) can be read. In thismanner, when a drop operation is carried out for an externalapplication, the external application reads the contents from the sharedmemory region, and thus, can post page parts.

The page parts format adjusting module M225 is a module which, when pageparts are posted in the document processing module M2 or betweendocument processing modules, adjusts a data format of sub-contents ofpage parts. The page parts management module M221 is called when anoperation of inserting page parts is carried out. Specifically, when theinserting operation is carried out, in the case where type name of pagepart to be newly added is not included in the acceptance type D142included in page part which is an insertion source (this is called anacceptance type name list), the page parts format adjusting module M225searches a proper combination of conversion rules from a conversion ruledatabase M225 b (refer to FIG. 17); converts page parts into acceptablepage parts, and returns them to the page parts management module M221.If a combination of conversion rules which can be solved has not beenfound out, the fact is notified to the page parts management moduleM221. Then, the page parts management module cancels the insertingoperation.

The desktop pasting module M3 provides the user with a function forpasting part of a document which an application has to a desktop as tagpaper by a drag & drop operation.

FIG. 24 shows an example of configuration in the case where the documentediting system shown in FIG. 2 is implemented on a computer (a computingmachine), for example.

That is, in FIG. 24 the document editing system is composed of: aprocessor (CPU) 20; a memory 22; an output device 24 such as a displayor a printer; an input device 23 such as a mouse or a keyboard; and astorage device 21.

Among them, the storage device 21 is utilized to store a program or thelike serving as a nucleus of system controlling or to temporarilymaintain data or the like. This storage device stores a host program 31,a document processing program 32, a desktop pasting program 33, variousapplication programs 34 and the like. In addition, the memory 22 isutilized as a shared memory which can be used for executing the abovedescribed programs and as a working area for program execution. Also,the processor 20 carries out various required control processingsincluding input/output control or various processings by executing aprogram in the storage device 21.

The processor 20 primarily provides a function which corresponds to thehost module M1 of the document editing system shown in FIG. 2 on thedocument editing system shown in FIG. 24 by executing the host program31 in the storage device 21.

The processor 20 primarily provides a function which corresponds to thedocument processing module M2 of the document editing system shown inFIG. 2 on the document editing system shown in FIG. 24 by executing thedocument editing program 32 in the storage device 21.

The processor 20 primarily provides a function which corresponds to thedesktop pasting module M3 of the document editing system shown in FIG. 2on the document editing system shown in FIG. 24 by executing the desktoppasting program 33 in the storage device 21.

Further, the processor 20 primarily provides a function whichcorresponds to these applications each on the document editing systemshown in FIG. 24 by executing the various application programs 34 in thestorage device 21.

Now, the modules shown in FIG. 2 will be described in detail.

(Host Module)

First, a host module M1 will be described here. As described previously,there are two methods: a method for utilizing a common general-purposebrowser such as Internet Explorer or Netscape as a host module; and amethod for providing a dedicated host module.

When the common general-purpose browser is used as the host module M1(in this case, the host module M1 is called a first host module M1),required registration processing concerning the document processingmodule M2 may be carried out in accordance with the respective browserspecification. The details are categorized in the software specificationof the general-purpose browser, respectively, and a further descriptionis omitted here.

Here, a description will be given with respect to the second host moduleM1 which is a host module used exclusively for the document processingsystem according to the present embodiment.

The second host module M1 is a software application which can maintain aplurality of pages containing page parts, i.e., block WEB documentstherein and which can select and manage the plurality of pages by tree.An execution screen is shown in FIG. 6.

A display region on a screen displayed on a display when the second hostmodule M1 is initiated is composed of a classification tree displayportion 6-1 and a Web display portion 6-2.

A plurality of Web pages maintained by the second host module M1 areassigned to nodes of the classification tree portion 6-1, respectively,and the Web page corresponding to the selected node is displayed on theWeb display portion 6-2. In FIG. 6, the Web page displayed at the Webdisplay portion 6-2 is the same as the page parts shown in FIG. 3.

The user can browse a plurality of Web pages as page parts by clicking adesired node of the nodes displayed at the classification tree portion6-1. Also, the user can newly add, delete, or move a node on a tree byoperation. These operations are made in the same way as in widely usedEXPLORER™.

The user can move or copy page parts by dragging the page partscurrently displayed on the Web display portion 602, dropping them ontoan arbitrary node, or further dropping them onto the Web display portion6-2 of the second host module M1 which is opened.

In addition, the other various functions oriented to page parts can beexecuted by carrying out a variety of GUI operations at the Web displayportion 6-2. These functions are provided by the document managementmodule M2 described later in detail, and a detailed description is notgiven here.

In the case of the first host module M1 configured by using thepreviously described general browser as another example of the hostmodule, only the Web display portion 6-2 exists on the screen displayedwhen the first host module M1 is initiated. Similarly, a variety offunctions oriented to page parts can be executed by carrying out avariety of GUI operations at the Web display portion 6-2.

A functional configuration of the second host module M1 will bedescribed with reference to FIG. 5.

The second host module M1 is roughly composed of: a classification treemodule M11 for carrying out display or operation for the tree of the Webpage at the above classification tree portion 6-1; a storage functionmodule M12 responsible for file writing or reading; and a resumefunction module M13.

The document processing module M2 described later supports a functionfor displaying a Web page on the Web display portion 6-2.

The classification tree module M11 displays a classification tree andcarries out GUI operations such as node addition, deletion, and movingfor the displayed classification tree. As program parts for carrying outthe above described tree display or GUI operations, program GUI partsgenerally called “a tree control” are provided from a variety ofvenders, and the above GUI operations can be carried out by using them.

Tree control is a GUI part which can display a named node on a treecapable of opening and closing and can allocate an arbitrary addingfunction through the user operation such as node clicking.

In the classification tree module, M11 may be configured by adding afunction specific to the second host module thereto on the basis of treecontrol. The tree control itself is not included in the gist of thepresent invention, and a description is omitted here.

In the second host module M1, a Web page is assigned to each of the treenodes. Information for referring to the document processing module M2 isprovided in order to enable the module M2 to be referred to byassociating the document processing module M2 corresponding to the nodewith each mode of tree control.

The node selection module M11 is a program module called when any one ofthe nodes is clocked by tree control. This module is generally called aselection event handler.

A node selection module M111 issues an instruction to the documentprocessing module M2 in which the selected node is associated with thenode so as to display a Web page corresponding to the node. In thismanner, every time a node is selected, the corresponding Web page isdisplayed by the document processing module M2 associated with the node.

A node addition module M112 is a program module called when any one ofthe nodes is added by tree control. This module is generally called anaddition event handler. The node addition module M112 newly creates thedocument processing module M2 (in this state, the Web contents arevacant), and adds reference information for associating the documentprocessing module M2 with the newly added node.

A node deletion module M113 is a program module called when any one ofthe nodes is deleted by tree control. This module is generally called adeletion event handler. The node deletion module M113 terminates thedocument management module M2 associated with the node, and deletes itfrom a memory based on the reference information which the deleted nodehas.

A node moving module M114 is a program module called when any one of thenodes is moved by tree control. This is generally called a moving eventhandler. The moving event handler M114 does not carry out processing inparticular.

A page parts accepting module M115 is a program module called when pageparts are dropped onto any of the nodes by tree control (when a movedestination is instructed). This module is generally called a drop eventhandler. The page parts acceptance module M115 instructs the documentprocessing module M2 associated with the node by using referenceinformation to add page parts based on the accepted page parts data(serialized image). In this manner, the page parts identical to thosedragged are created on the Web page corresponding to a node of a dropdestination.

A description of the classification tree module M11 has now beencompleted.

The storage function module M12 is a program module executed when anapplication terminates. This module is called a termination eventhandler. The storage function module M12 has a function for writing intoa file the information concerning the Web page with which each node isassociated. In order to achieve this, this module issues a storagecommand to the document processing module M2 associated with the nodewhile the nodes of tree are tracked in order.

As a storage method, it is first considered that documents are storedseparately. However, contrivance is required such that the respectivefile names are not duplicated, and files must be collected during nextreading, which is inconvenient. Thus, a method for storing all documentscollectively in one file is effective.

The resume function module M13 is a program module executed when anapplication is initiated. This module is called an initialization eventhandler. The resume function module M13 has a function for returning toa memory the information concerning the previously terminated Web pageor the like, and restoring the application in its original state. Inorder to achieve this, the stored files are opened in order, and thenodes on the tree and the document processing modules M2 associated withthese nodes are generated again in order.

(Document Processing Module)

Now, the document processing module M2 will be described here. Prior toa detailed description of each sub-module configuring the documentprocessing module M2, a description will be given with respect to theblock Web document which the module M2 handles.

An example of the block Web document is shown below. <?xml version =“1.0”?> <root style = “root. xsl”> <a component = “yes” type = “type-a”style = “1. xsl; a2. xsl; a3. xsl”> <a>aaaaa</a> <a>aaaaaaa</a> </a> <bcomponent = “yes” type = “type-b” style = “b1. xsl; b2. xsl:b3. xsl”><b>bbbbb</b> </b> <accept type “type-a; type-b”/> <import href =“http://www.shiba.co.jp/aaaaa.pzx#xpointer(/root/c)” /> </root>

The above block Web document indicates that there are included partialdocuments “a” and “b” corresponding to page parts which can be handledindependently at an element including an attribute “component” allocatedbelow am element “root”. Display data displayed by the partial document“a” is “aaaaa” or “aaaaaaa”, and the display data displayed by thepartial document “b” is “bbbbb”. Further, the Web document beginningwith an element “root” indicates that page parts of type “type-a” ortype “type-b” can be inserted into a position indicated by a tag“accept”.

As is evident from the above block Web document, the partial document ina structured document corresponding to sub-contents can be discriminatedby the fact that the value “yes” is specified in an attribute“component” described in the top node (or root node) in the partialdocument. Here, it is discriminated that a partial document in which thenode described in the attribute “component” is defined as a top nodecorresponds to one sub-content.

This block Web document extends a Web document disclosed in Jpn. Pat.Appln. KOKAI Publication No. 2001-109742.

Also, in the above block document Web document, the tag “import” has aspecial meaning, and has a function for which page parts of URLspecified by an attribute “href” (in the above example, part of page isspecified by using URL with XPointer) are inserted into the position.This tag indicates that page parts are provided as an external resource.The page part is totally identical to another page part in handing onpage.

In addition, when data is posed via HTTP (Hypertext Transfer Protocol),“Content-Type” must be “text/cmp”. A rule is established such that anextend must be “cmp” if an input from another network protocol such asFTP (File Transfer Protocol) or from a file system occurs. This rule isprepared in order for the document editing system to determine whetheror not an input document is a block Web document.

(Page Reading Module)

FIG. 7 shows a configuration of a page reading module M2-1, and thearrow indicates a data flow.

The page reading module M21 primarily carries out blocking of Web pages.This module manages document input to the document processing module M2.If a given document is a block Web document, the document is posted tothe block Web document processing module M22 through the page readingmodule M21 as is. If the given document is another Web document (such asHTML document or XML document), the document is converted into a blockWeb document, and the converted document is posted to the block Webdocument processing module M22 (FIG. 2).

The page reading module M21 is composed of a page type determiningmodule M211 and a blocking module M212. Web documents entered from acommunication such as HTTP or a file system is inputted to the pagereading module M21. A well known technique may be used for readingprocessing from the HTTP communication function or file system, and adescription is omitted here.

The input document is posted to the page type determining module M211.The page type determining module M211 determines whether or not theinput document is a block Web document in accordance with the procedureshown in FIG. 8. That is, in the case where the input document is posedvia HTTP, if “Content-Type” is “text/cmp”, the input document is a blockWeb document (step S1 to step S3). When an input from another networkprotocol such as FTP (File Transfer Protocol) or from a file systemoccurs, if the extent is “cmp”, the input document is determined to be ablock Web document (step S1).

Turning to FIG. 7, if the page type determining module M211 determinesthat the input document is a block Web document, the document is outputof the page reading module as is. If it is not a block Web document,processing for conversion into a block Web document is carried out bythe blocking module M212, and the result is outputted.

The blocking module M212 executes conversion processing for a givendocument by using a conversion rule for blocking (here, referred to as ablock sheet), and outputs the resulting block Web document. A blocksheet database (DB) M214 stores the conversion rule so that, with URL ofan input document which is a key, the conversion rule corresponding tothe input document can be searched. When the input document is inputfrom FTP or a file system instead of HTTP, URL of FTP or file URL isused. As a conversion rule, XSLT is used in this system.

A non-block Document is inputted. (step S10)

If the document is of HTML, a current document is converted into anequivalent XML document (step S11).

A block sheet application module M213 actually carries out conversionprocessing by using a block sheet DBM 214. A flow of this processing isshown in FIG. 9. This output is posted to the block Web documentprocessing module M22.

Here, a supplemental description will be given with respect toprocessing (step S12) in the case where a block sheet corresponding tothe input document is not found out. When no block sheet corresponds tothe input document, no block structure information is provided. Thus,all pages are construed as one page part. That is, an attribute“component” is provided to a root node of the input document. Inaddition, there does not exist style specification (style attribute)which should be essentially specified in page parts, and thus, a defaultstyle which this system has therein is assigned (step S15 and step S16).In the case of the XML document, a style sheet for simply displaying anXML document in a tree manner is a default style. In the case of theHTML document, a style sheet for displaying the HTML document intact isa default style. In this manner, a general XML document or HTML documentcan be handled as page parts in this system.

(Block Web Document Processing Module)

The block Web document processing module M22 is a module provided as asystem nucleus which manages a block Web document inputted by the pagereading module M21, displays the document to a user, and provides aconvenient GUI operation for sub-contents. Although it has been given ina description of the host module M1, the block Web document managed byone block Web document processing module M22 is one document. When aplurality of pages (a plurality of documents) are managed, it isrequired to generate the block Web document processing module M22 by thenumber of pages.

The block Web document processing module M22 is configured of aplurality of sub-modules, and these modules are cooperatively operatedeach other. Hereinafter, a detailed description will be given withrespect to each of these modules.

(Page Parts Management Module)

The page parts management module M22 is a base service module orientedto another module which includes pages, manages all the page parts inthese pages, and provides an API (application programming interface) forconfiguration change. A data structure of page parts is as illustratedin FIG. 4.

As shown in FIG. 10, the page parts management module M221 is composedof five service modules, i.e., a page parts reading module M221 a; apage parts database (DB) M221 b; a page parts insertion module M221 c; apage parts deletion module M221 d; and a page parts storage module M221e.

The page parts reading module M221 a analyzes an inputted block Webdocument, creates page parts for a partial document corresponding tosub-contents contained in the block Web document, and registers afinally prepared group of page parts in a page parts database M221 b.

In a block Web document, the sub-contents independently handled are ablock Web document itself, are included in a partial document when anelement (factor) having an attribute “component” in the Web documentassigned thereto is defined as a top node, or are an external resourcespecified by an element “import”, for example, URL.

Then, the page parts reading module M221 a first extracts a partialdocument having the attribute “component” and a partial documentcomposed of the element “import” from an inputted block Web document.However, with respect to the sub-contents themselves (entity ofsub-contents), the partial document having the attribute “component”assigned thereto is included in a child element of the element providedas its top node. In addition, in the case of the element “import”, thecontents which is an external resource specified by an attribute “href”of the element are downloaded by using a publicly known technique,whereby the entity (content) of the sub-content can be acquired.

With respect to the sub-contents extracted from the block Web document,a page part D1 is created as shown in FIG. 4 based on each of a partialdocument in which an element having the attribute “component” assignedthereto is defined as a top node, and a partial document composed of anelement “import”. Although a page part D1 with respect to the block Webdocument itself being sub-contents is created, such creation is carriedout in the same way as above.

Sub-contents (display data), for example, are written into a content D12in the page part D1 of FIG. 4.

When each page part is created, a parent-child relationship between pageparts is obtained from that between partial documents represented in ablock Web document (as in the parent-child relationship between elementsin an XML document). Thus, with respect to a page part in which aparent-child relationship exists, information on pointer or link forassociating a child page part to the page part (child page partsreference D162) or a place (position) D161 in which the child page partin the page part is inserted is written as information on pointer orlink for associating the page part with a parent page part (i.e.,hereinafter, referred to as parent page part reference D15) orinformation for associating the page with a child page part (i.e.,hereinafter, referred to as child page parts management informationD16).

With respect to sub-contents, URL per XPointer which is pointerinformation for specifying a position on a document structure of a blockWeb document including a partial document corresponding to thesub-contents is written into the link URL D17. In the case ofsub-contents externally acquired by an element “import”, URL withXPointer specified by an attribute “href of an element “import” iswritten into the URL D17.

With respect to each of a partial document having an attribute“component” and a partial document composed of an element “import”, ifan attribute “type” is described as its attribute, the correspondingvalue is written as the type name D11. If an attribute “style” isdescribed (if that value is divided into a plurality of characterstrings by semicolons each character string corresponds to a style sheetidentifier, for example), such each character string is written as thestyle sheet D13, respectively.

With each of a partial document having an attribute “component” and apartial document having an element “import”, for example, if an element“accept” exists as a child element in the partial document, itdesignates that a sub-content which can be inserted exist in thesub-content corresponding to the partial document. A type name of such asub-content which can be inserted (can be accepted) is indicated as anattribute. In this case, the acceptance information D14 for insertingsub-contents is written. First, a structural position of the element“accept” is written as the sub-contents insertion place (position) D141.If an attribute “type” exists in the element “accept” (if that value isdivided into a plurality of character strings by semicolons eachcharacter string corresponds to an identifier of type (acceptance type)of an acceptable sub-content, for example), such each character stringis written as the acceptance type D142.

There is a possibility that a plurality of elements “accept” exist, andwrite processing is carried out by the number of the elements.

The page parts database M221 b stores and manages all the page partscontained in a block Web document. Each page part has referenceinformation for a parent page part and a group of child page parts.Thus, information on arbitrary page parts can be acquired bysequentially tracking it based on this reference information.

The page parts insertion module M221 c is provided for newly adding andinserting page parts as a child of an arbitrary page part.

FIG. 11 is a flow chart illustrating a processing operation of the pageparts insertion module M221 c. Hereinafter, a description will be givenwith reference to FIG. 11. For example, when the page part A is insertedinto the page part B (step S20), the acceptance type D142 contained inthe acceptance information D14 of the page part B is taken out from thepage part data base, and the type name D11 contained in the page part Ato be inserted is fetched. Then, it is determined whether or not a typename of the page part A written as the type name D11 exists in theacceptance type D142 (steps S20 to S23). When the type name exists, thechild page parts management information D16 on the page part A isregistered in the page part B in order to be associated as a page partof a child of the page part B (a child page part). In addition, theparent page part reference D15 on the page part B is registered in thepage part A in order to associate the page part B as a page part of aparent of the page part A (a parent page part) (step S24).

In step S23, when a type name of the page part A written as the typename D11 does not exist in the acceptance type D142, the page partsformat adjusting module M225 is called in order to implement insertionof the page part A after converted into a page part of a proper type. Atthis time, the acceptance type D142 of the page part B and the page partA are posted to the page parts format adjusting module M225, andconversion is requested so that type of sub-contents of the page part Ais accepted by the page part B.

When a type of sub-contents of the page part A can be converted into atype acceptable by the page part B, processing goes to step S24.

In step S22, when an acceptance type is not specified for the acceptanceinformation D14 of the page part A or when a type of sub-contents of thepage part A cannot be converted into a type acceptable by the page partB, processing goes to step S24 in which insertion of the page part Ainto the page part B is rejected.

Turning to a description of FIG. 10, the page parts deletion module M221d is provided to delete arbitrary page parts. Specifically, from aparent page part to be deleted, the child page parts managementinformation D16 for accepting the page part to be deleted is deleted.The page part itself to be deleted is deleted from the page partdatabase. At this time, when a partial document included in a partialdocument (i.e., a child partial document) exists in the partial documentcorresponding to a page part targeted for deletion, the page partcorresponding to the included partial document is also deleted from thepage part database. Movement of page parts can be achieved by combininga function of a page parts insertion module with a function of this pageparts deletion module.

The page parts storage module M221 e has a function for storing a fileof an arbitrary page part, and a function for storing a specified pagepart. When using this function, a page part to be stored and a file nameare specified. However, not only the specified page part but also aposterity page part thereof are targeted for storage.

There are three types of storage formats, i.e., a block Web documentformat, a Pure XML format, and an HTML format. The block Web documentformat includes a specific expression for blocking or link such as theattribute “component”, element “accept”, or element “import”. Blockstructure information or a link relationship can be restored even if itis loaded in a page parts storage database.

The Pure XML format is such that these specific expressions for blockinghave been removed. The HTML format is such that the currently displayedHTML state is stored intact.

In the case of the block Web document format and Pure XML format, thecontent D12 of a posterity page part of the page part is synthesizedwith the content D12 of the page part D1, thereby determining thecontents of storage. In the page part D1, an insertion place D161 inwhich each page part and an insertion place D161 into which such eachpage part is to be inserted are written as the child page partsmanagement information D16. This information is used for synthesizingcontents.

On the other hand, in the case of HTML, the contents of storage aredetermined by executing an HTML synthesizing module M222 a describedlater (refer to FIG. 12).

(Rendering Processing Module)

The rendering processing module M222 has a function for displaying pageparts.

As one of the important uses, a block Web document analyzed by the pageparts management module M221 is displayed at the Web display portion 6-2on a display screen, as shown in FIG. 6.

A page part may be included in another page part or may include suchanother page part, as described previously (a page part inevitably hasan inclusive relation with another page part). It is insufficient if thestyle sheet D12 of the page part is merely applied to the sub-contentscorresponding to each page part. Processing for inserting the result ofthe style sheet application of each child page part of that page part isrequired. In contrast, in this system, an element “import” is preparedfor the style sheet, and a type name of a child page part targeted forinsertion is written as an attribute “type” of the element “import” (ifit is omitted, any type is acceptable). A command “import” is issuedintact as an output together with HTML merely by carrying out XSLT(style sheet) application processing. Thus, the HTML is analyzed, andHTML synthesizing is carried out.

The element “import” in this style sheet (also simply called “import”)is provided for HTML synthesizing to be displayed on a screen. This isanalogous to “import” described in the block Web document, but it isanother command.

Specifically, assume that there exists a style sheet in which thefollowing result of application is obtained. <html><body> <h1>Title</h1><div><import type = “type-a”/></div> <div><import type =“type-b”/></div> </body></html>

At this time, the style application result of a child page part of type“type-a” enters a first element “div”, and the style application resultof a child page part of type “type-b” enters a second element “div”.

The HTML synthesizing module M222 a carries out this synthesizingprocess. The HTML synthesizing module M222 a applies a style sheet to aspecified page part (a specified style sheet or a first one in the casea plurality of style sheets exist), thereby obtaining HTML.

All the elements “import” are searched from among the obtained HTMLs,and the result of HTML obtained by applying a style sheet to the childpage part specified by an attribute “src” with respect to each of theseHTMLs is inserted instead of the elements “import”. However, when acommand “import” is included in the style application result of a childpage part, the style application result of that child page part isinserted similarly before the above insertion. This process is carriedout recursively.

When this recursive process completes, one HTML in which the style sheetapplication results of all child page parts can be obtained. This resultis posted to an HTML renderer M222 b shown in FIG. 12, whereby HTML isdisplayed. The HTML renderer M222 b for use in this procedure is theexisting component which has a function for displaying the inputtedHTML. This renderer also incorporates a general browser.

A description of processing required for displaying a block Web documenthas now been completed. It should be noted that some of these mattershave been omitted for clarity. Immediately after carrying out stylesheet application to each page part or its child page part, therebyobtaining HTML, a GUI processing initialization module M223 a of a GUIprocessing module M223 is called while reference to route element and apage part of the obtained HTML is defined as an input. This is because aGUI operating function such as drag & drop or context menu forsub-contents is inserted in the synthesized HTML. A detailed descriptionwill be given later.

(GUI Processing Module)

The GUI processing module M223 is a module which provides a GUIoperating function oriented to sub-contents such as drag & drop or acontext menu to page parts which has been displayed. This module has aconfiguration as shown in FIG. 13.

The GUI processing initialization module M223 a carries out processingfor registering elements or page parts of HTML targeted for processing(operated to be selected by a mouse or the like) relevant to a drag &drop processing module M223 b and a context menu processing module M223c which are described later.

The GUI processing initialization module M223 a is called by inputtingtwo items of page parts reference information and route elementreference information which is a factor (element) of an HTML document towhich page parts are assigned in display. Then, these items ofinformation are registered as an event in the drag processing moduleM223 b, drop processing module M223 c, and context menu processingmodule M223 d, thereby bonding processing which corresponds to such anevent.

In this manner, when a drop & drag operation or a context menu(right-click) operation has been carried out in a registered HTMLelement, these processing modules are called, and services oriented tosub-contents function.

In addition, these processing modules has a correlation table betweenHTML elements and page parts, and thus, the target page parts can bespecified. Therefore, a GUI service function can be provided based onthe contents of page parts.

Now, processing of these event handlers will be given here.

The drag processing module M223 b is a processing module executed when adisplay region of an HTML partial document corresponding to one pagepart has been dragged. This module is generally called a drag eventhandler. The user can move or copy page parts by the drag & drop GUIoperation. The drag processing module is responsible for its first-halfpart.

In this processing procedure, as shown in FIG. 14, when a drag operationis carried out for a partial document which corresponds to display dataselected on a screen, parts data corresponding to the display datatargeted for operation is temporarily stored in a memory (step S30 andstep S31). In this way, processing to prepare for a drop event which issubsequently generated is carried out. In the supplemental point ofview, this drop destination may be a block Web document of anotherprocess, may be another application such as a mailer (E-mail software)or OA software, or may be a desktop without being limited to in therange of the same pages. Then, in step S32, the page part is posed tothe export module M224 by calling the export module M224 shown in FIG.16 to transfer the page part to an external application.

Subsequently, the drop processing module M223 c (FIG. 13) is aprocessing module executed when something is dropped on a page part.This module is generally called a drop event handler. This handler isresponsible for a latter-half part of the drag & drop GUI operation. Thedetail on this processing procedure is as shown in FIG. 15. When a dropevent whose sub-contents are targeted for operation occurs, a page partcorresponding to the sub-contents targeted for operation is read outfrom the memory, and the sub-contents are inserted into a positionspecified by a drop operation using the page parts insertion module M221c (steps S40 to S42). When the sub-contents are inserted, the page partcorresponding to the dropped sub-contents is newly created. By referringto the reference information D15 for a parent page in a page part whichcorresponds to the sub-contents targeted for operation, it is determinedwhether or not the page part targeted for operation has been draggedfrom the same page. If the page part has been dragged from the samepage, the page part targeted for operation is deleted from the page partdatabase M221 b by using the page parts deletion module M221 d (step S43to step S45). Then, re-depicting is attempted by using the renderingprocessing module M222 (step S46). On the other hand, in step S44, if apage part targeted for operation is not dragged from the same page,processing goes to step S46.

In the supplemental point of view, when drop is carried out while themouse right button is held, the user interprets that a link is intended,and sets a flag (link flag D18 of FIG. 4) indicating the link (the usersets the flag to “1”). In this case, the step of determining whether theright drop is carried out is added between the step S42 and the step S43of FIG. 15. In the case of the right drop, the link flag D18 is set to“1”. Otherwise, the link flag D18 is set to “0”. In this case, the linkinformation may be stored in the link URL D17.

When the link is established, even if the sub-contents of page parts ofa link destination has changed, there is an advantage that thesub-contents of its latest version are displayed because the page partsare acquired at the link destination when the block Web document isdisplayed. For example, the user can create one's original portal pagewhich daily changes, the portal page including both of a sub-contentcalled “CD sales best 10” in one block Web document and a sub-contentcalled “book sales best 10” in another block Web document, for example,by registering a desired page part link in a scrap book described later.

The context menu processing module M223 d (FIG. 1) is a function whichpops up a menu of executable commands when it is right-clicked on a pagepart. This system provides a delete command, an edit command, a createcommand, an HTML cutter command, and a style change command on a contextmenu. When the delete command is selected, the page parts deletionmodule M221 d (FIG. 10) is executed. The rendering processing moduleM222 (FIG. 2) is executed, and deletion of page parts is carried out.

The edit command and create command edit the existing or new page part,and an edit module M223 e (FIG. 1) supports these processes.

A specific flow of processing is shown in FIG. 20. In FIG. 20, forexample, after a desired sub-content on the Web display portion 6-2shown in FIG. 6 has been selected, when a create command is selected, avacant page part is created. Then, this vacant page part is insertedinto the page part corresponding to the selected sub-content by usingthe page parts insertion module (step S60 to step S62). Then, an XML/XSLeditor for editing an XML document or an XSLT document is initiated, anda variety of edit commands are used, thereby creating the content D12 inthe created page part or the contents (entity) of the style sheet D13(step S63). After the editing work has terminated, when the XML/XSLeditor is closed, the editing result is written into the content D12 orstyle sheer D13 in the page part which is created in advance (step S64).

The existing XML/XSL editor may be initiated in step S63.

The HTML cutter command is a function in which, when an input page isoriginally a general HTML (in this case, the HTML document is convertedinto a block Web document such that the whole text is one item of partsdata), the user specifies a range at the Web display portion 6-2 of FIG.6, and divides that range as a page part. An HTML cutter module M224 fsupports this function. When the range is divided as a page part, it canbe handled as independent sub-contents. A specific flow of processing ofthe HTML cutter is shown in FIG. 21.

In FIG. 21, for example, when input is done for the document processingmodule M2, it is assumed that a general HTML document is converted intoa block Web document such that the entirety is provided as one item ofpart data through the page reading module M21; and further, theconverted document is displayed at the Web display portion 6-2 shown inFIG. 6 via the page parts management module M221 or rendering processingmodule M222 and the like. At this Web display portion 6-2, after theuser has selected a desired region, when the user select an HTML cuttercommand, a top element in the currently selected range is specified(step S70 to step S72).

To the specified top element, the element adds the attribute “component”and the style attribute for indicating one sub-content. That is,“component=“yes”” is written into the element, and identificationinformation on a style sheet having an HTML default style describedthereon is written into the element (step S73). The contents in theselected range, i.e., the page part corresponding to a partial documentcomposed of elements (factors) in the selected range below the above topelement, is newly created, and is registered in the page part database(step S74).

A parent-child relationship is established between the page partcorresponding to a source content (one page as one block Web document)and the newly created page part. Thus, based on this parent-childrelationship, as described previously, the parent page parts referenceD15 in each page part and the child page parts management informationD16 are written (step S75).

In the supplemental point of view, in determining whether or not an HTMLbased page exists in step S71, it may be determined whether or not astyle sheet is an HTML default style. Of course, in the case of a blockWeb document or other various structured documents as well, a desiredpartial document may be delimited as sub-contents from these structureddocuments (i.e., partial documents) by using a command equivalent to theabove HTML cutter command.

A style change command is a function which causes the user to select adesired style from among a plurality of style sheets D13 registered inpage parts, and re-displays the page part D1 on the selected stylesheet. A style change module M223G (FIG. 13) supports this command. Aspecific flow of processing for style change is shown in FIG. 22.

In FIG. 22, for example, after a desired sub-content at the Web displayportion 6-2 shown in FIG. 6 has been selected, a style selection commandis selected (step S80). In step S81, when a plurality of style sheetsD13 are registered in the page part D1 corresponding to the selectedsub-content, processing goes to step S82. When only one style sheet D13is registered, processing is canceled intact.

In step S82, a menu screen for selecting any one of a plurality of stylesheets registered in the selected page part is displayed. From amongthese sheets, a style sheet selected by the user is applied to theselected sub-content (content D12 in page in page part D1), and theselected style sheet is displayed at the Web display portion 6-2 (stepS83).

Commands such as cut, copy, paste and the like may be provided, althoughthey are not described here.

(Export Module)

The export module M224 of FIG. 2 is a module which enables a sub-contentto be copied by a drag & drop operation between the document processingmodule M2 and an external application, as described previously. Althoughit is not described, this module is available for the purpose of storingthe sub-content dragged & dropped from the document processing module M2in the format of an external application.

The word “export” used here denotes that a copy of sub-contents istransferred from the document processing module M2 to an externalapplication.

In addition, the external application used here denotes an applicationother than the document processing system according to the presentembodiment.

The export module M224 is composed of a plurality of sub-modules, asshown in FIG. 16. Although an export request whose page part is definedas an input is received from an external application, such a request issent to a shared memory registration module M224 a. The shared memoryregistration module M224 a uses other output modules M224 b to M224 d tocreate export data which includes page parts targeted for processing fortransferring the page parts and to register them in a shared memorywhich can be accessed from all the external applications. In thismanner, when a page part is dropped, an external application can readthe contents in the most preferable data format to the externalapplication.

An application by application format output module M224 b narrows atarget to some prominent external applications, and converts a page parttargeted for processing (at least display data displayed by the pagepart) into a data format applicable to these external applications,thereby generating the above export data and outputting the data to theexternal application.

A standard format output module M224 c converts a page part targeted forprocessing (at least display data displayed by the page part) into adata format which is widely used such as a text format of an HTMLformat, thereby generating the above export data and outputting the datato an external application.

An object embedding format output module M224 d outputs to the externalapplication a page part targeted for processing (at least display datadisplayed by the page part) as in the data format (i.e., data format ofpage part D1, for example) of this system, together with referenceinformation for associating with page part the document processingmodule M2 corresponding to the page part. In this method, the documentprocessing module M2 is embedded partly of a window region of anexternal application being a drop destination.

(Page Parts Format Adjusting Module)

A page parts format adjusting module M225 of FIG. 2 is a module used inthe page parts insertion processing module M221 c, as describedpreviously. Specifically, when the page parts insertion processingmodule M221 c inputs a conversion request which includes page parttargeted for conversion and the acceptance type D142 in another pagepart, the type name D1 of the page part targeted for conversion issearched. Then, at least a type (a data format, for example) of apartial document corresponding to a page part targeted for conversion isconverted into any type included in the acceptance type D142 in anotherpage part.

This conversion request is sent from the page parts insertion processingmodule M221 c (FIG. 19) to the conversion rule search module M225 a asshown in FIG. 17.

In a conversion rule database M225 b (FIG. 17), a plurality ofconversion methods (conversion regulations or conversion rules) arestored in advance by type of conversion source and conversiondestination.

The conversion rule search module M225 a finds out a conversion methodwhich corresponds to type of conversion source and conversiondestination from the conversion rule database M225 b, and returns thepage part of the conversion result. If nothing is found out, this modulereturns the fact that the conversion has failed to the page partsinsertion processing module M221 c (FIG. 10) being a request source.

The conversion rule database M225 b manages a plurality of data whichcontains a set of three items which are conversion source type,conversion destination type, and a conversion rule (a documentdescribing a conversion regulation such as an XSLT document, forexample). The conversion rule search module M225 a (FIG. 17) searches asequence path (a combination with its sequence) consisting of aplurality of conversion rules for conversion into any of the finallyrequested types, from the type name D11 of the inputted page parttargeted for processing. When a plurality of sequences has been finallyfound, a combination of the shortest paths is adopted.

For example, assume that type of page part targeted for processing is atype “type-x”, the final target type is a type “type-y” or a type“type-z”, and the following data is stored in the conversion ruledatabase M225 b.

(type-x, type-a, xa.xsl)

(type-a, type-b, ab.xsl)

(type-b, type-y, by.xsl)

(type-x, type-c, xc.xsl)

(type-c, type-z, cz.xsl)

In this case, there are two types of sequences for conversion into afinal target type; xa.xsl→ab.xsl→by.xsl and xc.xsl→cz.xsl. Theconversion rule search module M225 a selects the latter, and returns apage part (type “type-z”) obtained as a result of applying XSLTdocuments in order.

(Desktop Pasting Module)

The desktop pasting module M3 is an application which operates in anindependent process. When this application software drags & drops a pagepart (a sub-content) to a desktop, the application softwareincorporating the first host module M1 and the second host module M1composed of a general browser, the page part can be pasted onto thedesktop as in tag paper.

Conversely, the page part can be returned by dragging & dropping it fromtag paper to the host module M1.

The desktop pasting module M3 is composed of a desktop monitoring moduleM3 a and a tag paper display module M3 b, as shown in FIG. 18. The tagpaper display module M3 b is a module which is dynamically generated bythe number of tag papers. In addition, each tag paper display module M3b generates and maintains the document processing module M22 at itsinside.

In addition, FIG. 19 shows a flow of processing concerning a drop eventfor a desktop of a page part in the desktop pasting module M3.

In FIG. 19, for example, after a desired sub-content at the Web displayportion 6-2 shown in FIG. 6 has been selected, when the desktopmonitoring module M3 a (FIG. 18) senses (step S50) that a drop event hasoccurred on a desktop after a drag operation, the tag paper displaymodule M3 b is initiated (step S51). At this time, when a sub-content(page part) is not selected, processing is canceled (step S56).

The initiated tag paper display module M3 b (FIG. 18) allocates a windowregion on a screen and initiates the document processing module M2 (stepS52 to step S54).

The tag paper display module Mb3 causes the initiated documentprocessing module M3 to read the dropped sub-content (page part), andcauses the window to display it (step S55).

In this manner, page parts can be pasted to tag papers one afteranother. Although not shown because it is publicly known, the windowcreated by each tag paper display module can be moved anywhere the userlikes on a screen later.

Conversely, the page part displayed as a tag paper is dragged & droppedon a browser, whereby the page part can be added to a page displayed bythe browser or can be deleted from the page.

These functions are not specifically provided by the desktop pastingmodule M3, and is carried out by the document processing module M22 ineach tag paper display module M3 b which has been described previouslyin detail.

(Summary of Document Editing System)

As has been described above, a document editing system according to thepresent embodiment comprises:

displaying on display means (corresponding to an output device 24 ofFIG. 24) a structured document having a document structure composed of aplurality of elements;

editing a structured document based on a partial document coincidentwith or included in the structured document, the partial documentcomposed of at least one element for displaying display data defined asan operating unit in advance on the display means;

creating parts data (i.e., page parts) by partial document whichincludes position information on at least the partial document (whichincludes information representing a parent-child relationship (aninclusive relationship) between partial documents) based on information(for example, an attribute “component”) contained in a partial document,the information representing a partial document which corresponds to atleast one sub-content;

storing in storage means (i.e., page part database) the structureddocument as a set of parts data; and

updating the parts data corresponding to the display data targeted foroperation according to the contents of operation for the display dataselected as an operating target, of the display data displayed on thedisplay means, thereby editing the structured document.

Each partial document contains as additional information on the partialdocument (such as attribute information, for example):

a type of the partial document;

at least one conversion rule for converting a data format of the partialdocument in another data format;

link information for a partial document in another structured documentdisplayed on the display unit as the partial document; and

at least one of a type and an insertion position of another partialdocument which can be inserted into the partial document,

the additional information being included in the parts data. Suchadditional information is extracted from each partial document, andparts data on the partial document is created. Therefore, parts datacontains additional information contained in a partial document whichcorresponds to the parts data.

For example, a position of a partial document can be represented as alocation on a document structure of another partial document such as Webpage, for example, which includes the partial document.

In addition, a relationship between a partial document corresponding toone entire Web page and a partial document corresponding to onesub-content contained in the Web page is considered to be a parent-childrelationship (an inclusive relationship).

Also, there is a case where data (display data) displayed on displaymeans in each partial document may be included in the partial document,and there is another case in which link information for the display datais contained in the partial document.

In this manner, according to the above described embodiment, the abovedescribed parts data (page parts) are created based on additionalinformation relevant to each of partial documents which can beidentified based on such information representing a partial document inunits of operation, whereby, based on the parts data, the contentsdisplayed on a screen can be easily operated to be edited in units ofsub-contents (in units of partial documents).

(Service Server)

As has been described above, when a mechanism for carrying out operationor editing in units of sub-contents using a block Web document has beenestablished, some of the Web page providers will want to increase thenumber of browsers on the Web page by utilizing this mechanism toimprove the page inconvenience.

There are two application examples: a static Web page applicationexample for the Web page provider to provide each portlet as a page partat a portal site; and a dynamic Web page application example ofproviding a product catalog of a search result as a page part at ashopping site or the like. That is, in the former case, all of the Webpages stored in a server are provided as a block Web document havingblock structure information or the like. In the latter case, forexample, each record is provided as one sub-content (a page part); aplurality of records obtained as a result of search are collected in apredetermined format; and one block Web document is created so as to bedistributed to a client.

When the Web page provided from the Web site is the block Web documentdescribed previously, if the user browses the contents provided from theWeb site via a browser, there is provided an advantageous effect thatthe above described operating function concerning the page partscontained in the Web page can be utilized.

FIG. 23 shows an example of configuration of a server apparatus. Theserver apparatus 10 is provided to accept a request from a plurality ofclient terminals (in this case, two terminals) 11 a and 11 b(hereinafter, each of these terminals is called client terminal 11 ifthere is no need to discriminate them) via a predetermined network 12such as Internet, and distribute a desired Web document (Web page) tothe user.

The server apparatus 10 shown in FIG. 23 comprises: a distributionrequest accepting section 10 a which accepts a distribution request fromthe client terminal 11; a Web page storage section 10 b which stores aplurality of Web pages (all of which may be a block Web document or maybe a document other than the block Web document such as an HTMLdocument); a converting section 10 c for converting into a block Webdocument a Web document other than the block Web document; adistributing section 10 d for distributing a Web page requested fordistribution to the client terminal 11 which is a request source; and acontrol section 10 e for controlling each of the above sections.

Only the block Web document may be stored in the Web page storagesection 10 b, as described previously. In addition, a Web document otherthan a block Web document may be stored therein. A document other thanthe block Web document, of all the Web pages stored in the Web pagestorage section 10 b (FIG. 23), is converted into a block Web documentat the converting section 10 c (FIG. 23).

The converting section 10 c can be composed of the page reading moduleM21 described previously. That is, if there exists a conversion ruleapplicable to the Web documents stored in the Web page storage section10 b, such a document is converted into a block Web document by applyingthe conversion rule. When an applicable conversion rule does not exist,the Web document is construed as one page part; an attribute “component”is assigned to a root node of the Web document; and a default style isassigned to the Web document.

In this manner, based on a distribution request from the client terminal11, the distribution request being accepted at the distribution requestaccepting section 10 a, the block Web document requested from the clientterminal 11 is distributed to a request source via the distributingsection 10 d.

In the meantime, another feature of this system is that the user canpost page parts in excess of a Web site or Web page. Therefore, the usercan sample only the page parts from the Web site for providing contents,and the user can continue an information browsing work on the basis ofone's favorite Web site.

Therefore, Web sites can be discriminated from each other at a Webtemplate region, i.e., at a margin portion where page parts are stored.In such discrimination, usability is improved by a design or function,thereby providing incentive to the client. In addition, advantageouseffect can be achieved by carrying out guidance to one's owned servicesuch as issuing banner advertisement or effectively outputting one's ownproducts as a result of search.

A system configuration is provided such that a CGI for searching andoutputting Web documents or page parts which include only a Web templateregion and a CGI for synthesizing and outputting the output result of asearch CGI and a Web template region are disposed on the Web server.

Another service provided by the server include a service for the serverto manage in a substitutive manner a scrap book prepared by a client(user) by using the document editing system shown in FIG. 24. Such ascrap book is stored on a user operating computer. Thus, there is aninconvenience that an access cannot be provided to the sub-contentsstored in one's scrap book. A service for solving this problem include asolution for the server to manage a scrap book. In this case, the serverauthenticates a user; assigns a group of scrap books of the user so asto browse them; and provides a form for updating the scrap books.

In addition, the server can change the contents of scrap books displayedfor the user so as to be convenient to one's own company. Thus, anadvertisement effect can be attained by adding one's own productinformation to each of the scrap books, for example.

Alternatively, it becomes possible to ensure discrimination by a valueadded service that, from the contents of the sub-content described in ascrap book, the preference of each user or the like is analyzed by usingthe existing technique such as data mining; and information expected tobe welcomed by the user is additionally described in each of the scrapbooks.

Now, a second embodiment of the present invention will be describedhere.

The term “tag paper or “tag” used in the following description is a tagpaper (a tag) which is electronically created by a computer, and this isalso called an electronic tag. In the present specification, thecontents of electronic tag include an image, a video image, a voice andthe like without being limited to a text. Further, the contents ofelectronic tag may be multimedia such as HTML having an image, a videoimage, a voice and the like in complex.

Hereinafter, a description will be given with respect to an electronictag system which causes a computer having display means such as displayto execute an arbitrary program, thereby carrying out a drag & dropoperation between a document (data) displayed on the display means and adesktop to execute transfer to an electronic tag from a partial document(data) in a specified range or transfer from the electronic tag to adocument (data) displayed on the display means.

Specifically, after a partial region of interest has beenrange-specified on document display software such as word processorsoftware or Web (World Wide Web) browser, when the range-specifiedregion is dropped on a desktop, a tag paper window having the contentsof the partial document written therein is generated at the droppedposition. On the other hand, after the tag paper generated on thedesktop has been dragged while a shift key is pressed, for example (whendragging is carried out without pressing the shift key, the tag paperwindow is moved), when dropping is carried out for an arbitraryapplication handling a document, the contents of the document describedon the tag paper are inserted into the document.

In this manner, it becomes possible to paste as tag paper a cut of thecontents of the partial document maintained by the application on thedesktop by a single-step GUI operation. Similarly, the contents of thedocument pasted as a tag paper can be inserted into a document of theapplication by a single-step GUI operation.

Now, a description will be given with respect to a case where theelectronic tag according to the present embodiment is resided on an OS(Operating System) of a computer, for example, and is implemented as aprogram executed by the computer.

In the present embodiment, a description will be given by way of exampleof a drag & drop operation using a mouse as an operation for indicatinga copy or move source and a copy or move destination. It should be notedthat the present embodiment is not limited to this case.

FIG. 25 shows an example of functional configuration of an electronictag system according to the present embodiment.

The electronic tag system incorporates a function for linking a documentapplication for carrying out document creation/editing and the like withthe desktop by a drag & drop operation; a function for deleting agenerated tag paper window; and a function for, even if software is shutdown, storing the immediately previous state when the software isinitiated next.

The desktop used here denotes a basic screen displayed on display means,for carrying out file operation or application initiation on a computer(OS) having at least the display means.

Many of the conventional tag paper software components basicallyincorporate a function for changing a window position or size of a tagpaper and an editor function for editing the contents of the tag paper,for example. These functions are categorized in the prior art, and thus,a description is omitted here.

As shown in FIG. 25, a host module M4 corresponding to the electronictag system according to the present embodiment comprises: an eventmonitoring module M41; a tag window management module M42; and anapplication state management module M43.

The event monitoring module M41 is a module which monitors a desktopdrop event and a tag paper window drag, and carries out processingrequired for posting a document application and a tag paper if an eventoccurs. In addition, this monitoring module monitors a menu commandevent for deleting a tag paper window.

The tag paper window management window M42 manages information on thetag paper window which the system maintains, and has a function forcreating, displaying, and deleting the tag paper window.

The application state management module M43 is a module which may becalled a serializer. This module provides a function for writing into adisk all of the state information which an application has; and afunction for resuming an application from state information on theapplications written into the disk.

FIG. 30 shows an example of configuration in the case where the systemshown in FIG. 25 is implemented on a computer (a computing machine), forexample.

That is, in FIG. 30, this system is composed of a processor (CPU) 40, amemory 42, an output device 44 such as a display or a printer, an inputdevice 43 such as a mouse or a keyboard, and a storage device 41.

Among them, the storage device 41 is utilized to store a programresponsible for a nucleus of system controlling and to temporarily storedata or the like. This storage device stores an OS 53, a host program51, various application programs 52 and the like. In addition, thememory 42 is utilized for a shared storage region available for use inexecution of each of the programs described above or for a working areaduring program execution. In addition, the program 40 executes the OS53, for example, in the storage device 41, thereby implementing variousrequired control processings including input/output control or variousprocessings.

The processor 40 primarily provides an environment capable of initiatinga program such as the host program 51 or various application programs 52on a computer by initiating the OS 53 in the storage device 41.

In this state, the processor 40 provides a function which corresponds tothe host module M4 of the system shown in FIG. 25 on the system shown inFIG. 30 by executing the host program 51 in the storage device 41 (thatis, by initiating the host program 51 on the OS).

Further, the processor 40 provides a function which corresponds to eachof these applications on the system shown in FIG. 30 by executing thevarious application programs 52 in the storage device 41 (that is, byinitiating the various application programs 52 on the OS).

Now, a detailed description will be given below with respect to eachsub-module in each module of FIG. 25.

The event monitoring module M41 is composed of: an initialization moduleM411; a desktop drop event module M412; a window drop event module M413;and a window deletion command processing module M414.

The initialization module M411 is a module which carries outinitialization for link each sub-module which the event monitoringmodule M41 has with an event. This initialization module is called whenan application is initialized and when a tag paper window is newlycreated.

The desktop drop event processing module M412 is a handler module whichcarries out processing when a desktop drop event occurs.

FIG. 26 is a flow chart illustrating a processing procedure for thedesktop drop event processing module M412 (hereinafter, simply called aprocessing module M412).

For example, assume that part of the document displayed on a display bya document application is selected by a mouse or the like; the selectedregion is dragged; and a desktop is specified as a move destination by adrop operation. Here, assume that the data (information) contained inthe above selected region is temporarily stored in a shared storageregion in the memory 42 of FIG. 30 by a document application whichdisplays the data.

The shared storage region designates a storage region which can beaccessed from all applications. This region is called in WINDOWS™, forexample.

In a general application on Windows, when a drag operation is made byusing a mouse in a state in which a region is selected, it is generalthat the contents in the selected region are stored in the sharedstorage region (a clipboard).

When the occurrence of the drop event for the desktop is sensed (stepS90), the processing module M412 reads data targeted for drop from theshared storage region (step S91).

At this time, the data format of the data written in the shared storageregion may be any of the HTML format, rich text format, text format andthe like. In this case, the processing module M412 selects any one ofthe above formats in accordance with the priority assigned to thissystem in advance, and converts the data read out from the sharedstorage region into the selected data format.

Next, a window creation module M422 is called; a window is newly createdon the coordinate on which a drop event has occurred; and data read inthe window is written (step S92).

The window drag event processing module M413 (hereinafter, simply calleda processing module M413) is a handler module which carries outprocessing when there occurs an event that a tag paper window has beendragged.

FIG. 27 is a flow chart illustrating a processing procedure of theprocessing module M413.

For example, when the fact (a drag event) that the tag paper windowdisplayed on a display is operated to be dragged (a drag event) issensed (step S100), the tag paper window targeted for dragging isspecified (step S101) from among the tag paper window stored in a windowdatabase M421. This window can be specified by comparing a position of adisplay region on a tag paper window specified as a drag target oridentification information on the tag paper window with informationconcerning each tag paper window stored in the window database M421. Theexisting technique may be used without being limited to this case.

The data pasted on the specified tag paper window is written into theshard storage region of the memory 42 of FIG. 30, for example (stepS102).

The shared storage region is a memory region which can be accessed evenwhen executing any of the applications stored in a computer.

Subsequently, when it is sensed that a moving operation has completedwhen the mouse button is released, communication with an applicationexisting on the front-most face on the coordination (an application fordisplaying a document specified as a copy or move destination by a dropoperation) is made, and the data written in the shared storage region issupplied (step S103). That is, the data written in the shared storage isread by a computer which executes the application program existing onthe front-most face on the coordinate.

Some OSs search an application which should be a communication partnerat the same time when a mouse button is released, and provide a channelfor data transfer between both of them. Therefore, in this case, thesoftware may only supply data to a channel assigned by the OS.

In addition, some OSs automatically carries out data transfer itself. Inthis case, processing in step S103 is not required, and processing forwriting data in the above shared storage region, the data having beenwritten in an electronic tag, will suffice.

The window deletion command processing module M414 (hereinafter, simplycalled a processing module M414) is a handler module initiated when thedeletion menu provided by each tag paper window has been selected by theuser.

When the processing module M414 is initiated, a window deletion moduleM423 is called while reference information for a tag paper windowtargeted for deletion is defined as an argument.

The reference information for the tag paper window may be an address onthe window database M421 having stored therein the informationconcerning the tag paper window. In addition, when identificationinformation for identifying each of the tag paper windows duringcreation of the window is provided, this identification information maybe used as the above reference information. Any reference informationmay be used as long as there is provided information capable ofrecognizing which of the tag paper windows is specified in this system.

The tag paper window management module M42 is composed of the windowdatabase M421, the window creation module M422, and the window deletionmodule M423.

The window database M421 stores information concerning each tag paperwindow as a list in order to manage the tag paper window maintained bythis system.

The information concerning the tag paper window contains, for example,data stored as tag paper, coordinate indicating the display position ofthe tag paper window or window size, identification information providedto each tag paper window and the like.

The window creation module M422 is a module called by the processingmodule M412. This module receives as parameters the coordinateindicating the position for creating a window and the data stored in thewindow, and displays the window on a screen.

FIG. 28 is a flow chart illustrating a processing procedure of thewindow creation module M422.

When this creation module receives from the processing module M412 awindow creation request including the coordinate indicating the positionfor creating a window and the data stored in the window (step S110), itcreates the tag paper window on the specified coordinate (step S111).The module writes the above data contained in the window creationrequest in the created tag paper window (step S112), and stores theinformation concerning the newly created window in the window databaseM421 (step S113).

Every time the tag paper window is created, the window creation moduleM422 may store identification information for identifying each of thewindows in the window database M421 by providing the information.

The window deletion module M423 is a module called by the processingmodule M414. This module receives as a parameter the referenceinformation for a tag paper window targeted for deletion, and deletesthe tag paper window.

FIG. 29 is a flow chart illustrating a processing procedure for thewindow deletion module M423.

When this module receives from the processing module M414 a windowdeletion request including reference information on a tag paper windowtargeted for deletion (step S120), it erases display of the tag paperwindow specified based on the reference information (step S121) anderases it from the OS (step S122). Further, the deletion module erasedfrom the window database M121 the information concerning the specifiedtag paper window (step S123).

Now, a description will be given with respect to the application statemanagement module M43.

The application state management module M43 is composed of a state writemodule M431 and a state resume module M432.

The state write module M431 is a module called when the variousapplication programs 52 such as a document application have beenexecuted. This write module writes all of the information maintained bythe application into a disk or the like. At this time, the informationwritten into the disk is called application state information.

In this system, the state write module M431 processes window informationsuch as coordinate or size and data stored as a tag paper, for example,relevant to each of the tag paper windows registered in the windowdatabase M421.

The state write module M431 writes these items of information into adisk in order of being stored in the window database M421.

The state resume module M432 is a module called when the variousapplication programs 52 such as a document application are started to beexecuted. This module carries out reading and state restoration in anapplication based on the application state information written in thedisk. This operation is reversed from the state write module M431.

As has been described above, according to the above describedembodiment, a first program is executed on a computer having at leastdisplay means, whereby it is sensed that a desktop displayed on displaymeans is specified as a copy or move destination by a copy or moveoperation for second data which is the data in a specified range, of thefirst data displayed on display means (for example, it is sensed that adesktop is specified by a drop operation), a window being an electronictag (a tag paper window) is displayed at a specified position as thecopy or move destination on the desktop, and the second data stored inthe shared storage region in the computer is displayed on this window.

That is, according to the above described embodiment, for example, theabove second data can be pasted to an electronic tag (a tag paperwindow) by a single-step GUI operation via a drag & drop.

In addition, when a moving operation (for example, a drag operation) formoving a display position of a tag paper window is sensed, in order toinsert the second data displayed in the tag paper window displayed ondisplay means into third data displayed on display means by executing asecond program which is different from the first program on the abovecomputer, the second data displayed in the tag paper window is stored inthe above shared storage region.

The second data stored in this shared storage region is read by afunction of the second program through an operation (for example, a dropoperation) for specifying a desired position of the third data as a movedestination, and is inserted into the third data.

That is, according to the above described embodiment, for example, via adrag & drop, the second data pasted onto tag paper can be inserted intoa desired position in the third data by a single-step GUI operation.

As a program which can be executed by a computer, a technique describedin the embodiments of the present invention can be stored in a recordingmedium such as a magnetic disk (such as a floppy disk or a hard disk),an optical disk (such as CD-ROM or DVD), or a semiconductor memory, orcan be distributed via a network such as Internet.

The present invention is not limited to the above described embodiments,and various modifications can occur without departing from the spirit ofthe invention at an implementation stage. Further, the inventions at avariety of stages are included in the above described embodiments, and avariety of inventions can be excerpted according to a proper combinationin a plurality of disclosed constituent elements. For example, even ifsome of the all the constituent elements presented in the embodimentsare deleted, when (at least one of) the problems described in the BriefSummary of the Invention section can be solved and when (at least oneof) the advantageous effects described in the Advantageous Effect of theInvention section can be obtained, the configuration from which thisconstituent element has been deleted can be excerpted as an invention.

Additional advantages and modifications will readily occur to thoseskilled in the art. Therefore, the invention in its broader aspects isnot limited to the specific details and representative embodiments shownand described herein. Accordingly, various modifications may be madewithout departing from the spirit or scope of the general inventiveconcept as defined by the appended claims and their equivalents.

1. An electronic tag creating method, comprising: executing a firstprogram on a computer having at least a display unit, thereby displayingfirst data on the display unit; specifying a desktop displayed on thedisplay unit as a copy or move destination of second data which is datacontained in a specified range, of the first data; displaying a windowwhich is an electronic tag at a specified position as the copy or movedestination on the specified desktop to display the second data in thewindow; and displaying, when an instruction operation of the copy ormove destination onto the desktop is monitored, and the instructionoperation is sensed, in the window the second data stored in a storageregion in the computer.
 2. An electronic tag creating method accordingto claim 1, further comprising: executing a second program which isdifferent from the first program on the computer, thereby monitoring amoving operation for moving a display position of the window, in orderto insert the second data displayed in the window displayed on thedisplay unit as the electronic tag in third data displayed on thedisplay unit; and storing, when the moving operation is sensed, thesecond data displayed in the window in a storage region in the computer.3. An electronic tag creation method according to claim 2, wherein themethod causes the computer for executing the second program to read thesecond data stored in the storage region.
 4. An electronic tagapparatus, comprising: a sensor unit configured to execute a firstprogram on a computer having at least a display unit, thereby sensing adesktop displayed on the display unit has been specified as a copy ormove destination by copying or moving operation for second data which isdata in a specified range, of first data displayed on the display unit;a unit configured to, when the desktop has been specified as the copy ormove destination, display a window as an electronic tag at a specifiedposition as the copy or move destination on the desktop; and a unitconfigured to display in the window the second data stored in a storageregion in the computer.
 5. An electronic tag apparatus according toclaim 4, further comprising: a unit configured to execute a secondprogram which is different from the first program on the computer,thereby sensing a moving operation for moving a display position of thewindow, in order to insert the second data displayed in the windowdisplayed on the display unit into third data displayed on the displayunit; and a unit configured to, when the moving operation has beensensed, store the second data displayed in the window in the storageregion.
 6. A computer readable medium including computer programinstructions, which when executed on a computer having a display unitcause the computer to perform steps comprising: sensing that a desktopdisplayed on the display unit has been specified as a copy or movedestination by a copying or moving operation for second data which datain a specified range, of first data displayed on the display unit;displaying a window which is an electronic tag at a specified positionas the copy or move destination on the desktop when the desktop has beenspecified as the copy or move destination; and displaying in the windowthe second data stored in a storage region in the computer.
 7. Acomputer readable medium according to claim 6, including furtherinstructions, which when executed on the computer cause the computer toperform steps comprising: sensing a moving operation for moving adisplay position of the window, in order to insert the second datadisplayed in the window displayed on the display unit into third datadisplayed on the display unit; and storing in the storage region thesecond data displayed in the window when the moving operation has beensensed.